home *** CD-ROM | disk | FTP | other *** search
Text File | 1993-01-03 | 108.4 KB | 2,666 lines |
- RBcomm v3.40 Copyright (c) 1989-1993 Ralf Brown All Rights Reserved
-
- You may redistribute this program provided that you provide unmodified
- copies of all files, and do not charge any fee for making the copy.
-
- --------------------------------------------------------------------------
-
-
- RBcomm is a lean and mean comm program which will run in 46K without
- file transfer capability or 65K with file transfer capability. Since it
- is so lean, you will not get a lot of the fancy features of other comm
- programs, though there are plenty of features to let you get your work
- done (I've been using it exclusively for over five years, and have
- added features as I've found that I could be more productive with them
- than without).
-
- Features:
- small (runs in as little as 46K [65K with DSZ, 66K with Puma/MPt])
- DESQview-aware
- pop-up menus
- 'type' a file to the remote system, optionally expanding blank lines
- seamless file transfer using DSZ, PCZ, or Puma/MPt
- Zmodem and Puma/MPt autodownload (others easily added)
- shell to DOS, using well under 1K while shelled
- keyboard reassignment, powerful keystroke macros, "DOORWAY" mode
- 250-number dialing directory
- ANSI/VT102, VT52, and AVATAR level 0 terminal emulations
- [UnixWindows and AVATAR level 1 partially implemented]
- ANSI music
- 132-column support
- supports the 16550A UART's FIFOs and speeds to 115,200 bps
- (a 4.77MHz 8088 can handle 19200)
- scrollback buffer
-
- Registration:
- Continued use of DSZ requires registration with Omen Technology, Inc.
- See the DSZ documentation for details.
-
- Continued use of Puma/MPt requires registration with Matthew Thomas.
- See the Puma or MPt documentation for details.
-
- If you like RBcomm, send me a picture postcard of some sight in your
- area. If you don't like RBcomm, feel free to send me a postcard
- anyway, telling me what you don't like. I just might change the
- thing you don't like in the next release.
-
- Support:
- None (after all, I'm not getting any money for this). I will try to
- fix bugs as time allows. When reporting a suspected bug, please
- include as much detail as possible (such as a verbose log if it
- involves the terminal emulation).
-
- DISCLAIMER: This software is distributed AS IS and without any express
- or implied warranties. The author disclaims all responsibility
- for any damages which might be incurred as the result of using
- or misusing* the program. Although widely used by many people,
- the software is not guaranteed to function on any system other
- than the author's own.
- *RBcomm has the ability to overwrite or delete files, which can
- result in data loss if used indiscriminately.
-
-
- Ralf Brown [valid until November 1, 1993]
- 813 Copeland Way, Suite 26
- Pittsburgh, PA 15232
-
- Internet: ralf+@cs.cmu.edu
- UUCP: {harvard,ucbvax,uunet}!cs.cmu.edu!ralf
- BIT: ralf%cs.cmu.edu@cmuccvma
- FIDO: Ralf Brown 1:129/26.1
-
- Files in the RBcomm distribution archive:
- RBCOMM.DOC this file
- COMM.COM the RBcomm main program
- RBCONFIG.COM the configuration program
- MACRO.COM the keyboard macro compiler
- DVPWIDTH.COM program to set maximum width in DESQview .DVP files
- R?-PIF.DVP DESQview program information files
- *.MAC keyboard macro definition sources
- *.HLP help screens for corresponding macro files
- TERMCAP Unix "termcap" entry for RBcomm
-
- Availability:
- The newest version is always available on:
- SoundingBoard 1:129/26 File Requests
- (412)621-4604
- 24 hours, USR HST 14.4
-
- CS.CMU.EDU [128.2.222.173]
- directory /afs/cs.cmu.edu/user/ralf/pub
- You must change directly to this directory with a single
- command due to the way our anonymous FTP works.
-
- New versions will also be available here within a few days of release:
- Rosedale Dataline
- (301)866-4554
- 24 hours, USR HST 9600
- TP Board
-
- Fidonet nodes participating in DVNet
-
- WSMR-SIMTEL20.ARMY.MIL [26.2.0.4]
- directory PD:<MSDOS2.MODEM>
-
- System Requirements:
- IBM PC or close compatible
- at least 46K free memory (65K for file transfers)
- one or more serial ports
- DOS 2.0 or higher
- 48-128K disk space or EMS or XMS memory for swapping, depending
- on configuration
-
- -------------------------------------------------------------------------------
- Installation
- ------------
-
- Before you use RBcomm for the first time, you need to tell it where to find
- its support files and how to talk to the modem. To do so, copy the RBcomm
- files to the directory in which you wish to install them, change to that
- directory, and type
-
- RBCONFIG CONFIG COMM.COM
-
- (if COMM.COM is not in the current directory, use the full path, i.e.
- C:\COMM\COMM.COM, or RBCONFIG will not be able to find it)
-
- Please do not use your original copy. If you forget to run RBCONFIG, you
- will be told to do so when you attempt to run COMM.COM.
-
- You will now be asked (via a menu) to fill in several groups of information.
- Note that you may use either forward slashes ('/') or backward slashes
- ('\') to separate directories in a pathname.
-
- Press 'D' to set the directories and extensions to use.
- RBcomm dir: where the keyboard macro files and dialing directory are stored
- Swap directory: where to store the swap file when running DSZ or COMMAND.COM
- and neither EMS nor XMS is available. A RAMdisk is ideal for
- storing the swap file, which will be about 64K (the exact size
- depends on your setup).
- Use XMS if available: if set to N, RBcomm will always swap to disk in the
- directory specified by the previous item, or EMS if enabled.
- If set to Y (default), RBcomm will swap to XMS memory if there
- is enough available.
- Use EMS if available: if set to N, RBcomm will always swap to either XMS
- (if available) or to disk. If set to Y (default), RBcomm will
- swap to EMS memory if XMS is unavailable and there is enough
- free EMS.
- Macro file extension: default extension to apply to keyboard macro files
- Default macro file: keyboard macro file to load on startup and hangup
- if this file does not exist, RBcomm will use a built-in set
- of default key bindings
-
- Press 'S' to select the serial port to use. You may setup
- configurations for "COM1" through "COM4", as well as the default port to
- use when not otherwise indicated in the dialing directory. The values
- given for "COM3" and "COM4" need not bear any relationship to the
- numbering of the actual serial ports in your system (you could, for
- example, set them up to be the same as "COM1" except for the length of
- the break signal). RBCOMM does check that "COM1" and "COM2" exist
- according to the BIOS data area, however, to avoid running in a DESQview
- window which has incorrect settings for supporting serial
- communications. Break length specifies the length of the signal that is
- sent when you give the break command (default Alt-B) in multiples of the
- standard clock tick of 55ms. You may specify a separate setup string
- for each port. The setup string needs to ensure that the modem echos
- back any commands it is sent, and asserts carrier detect only while
- actually connected with another modem (for Hayes-compatible "AT" command
- sets, "E1&C1").
-
- Press 'M' to define the modem setup. In this section, you need to enter
- several strings to be sent to the modem. Note that you may enter control
- characters such as ^M (carriage return) by pressing control-Q followed
- immediately by the desired control character. You can enter a DEL (ASCII
- 127) by pressing Alt-D. Since most modems nowadays use the Hayes 'AT'
- command set, the only entry you are likely to change is "dial prefix",
- which will be "ATDT" for touch-tone dialing or "ATDP" for pulse dialing.
-
- Press 'R' to define the modem's responses. These should be the minimum
- substring that uniquely identifies the response.
-
- Press 'P' to setup dialing parameters. You may specify the name of the
- dialing directory, how long to try before declaring a time-out, and how long
- to wait before trying again.
-
- Press 'Z' to set the name of the program to run for Xmodem, Ymodem, and
- Zmodem transfers, and the parameters for the various types of file
- transfers. The parameter entries all allow replaceable parameters
- introduced by a percent sign--see the EXEC macro command for details.
- An additional replacement of %F is available which expands to the
- name(s) of the file(s) to transfer. Note that the default "portx" will
- cause DSZ to report the port as COM9, but it will still use the correct
- serial port. You need to use "portx" if you will be using more than
- one serial port.
-
- Press 'F' to setup Puma/MPt file transfers. You may specify the name of
- the program to run for such transfers, and the upload and download
- parameters.
-
- Press 'C' to set the colors you want RBcomm to use. You may select the
- default and "underlined" colors, as well as the colors to use on menus
- and the scrollback viewer.
-
- Press 'V' to determine whether 132-column mode should be enabled, whether
- to start in 132- or 80-column mode, and the register values needed to set
- 132-column mode. When running under DESQview, RBcomm can tell DESQview to
- set the virtual screen size to 132 columns if you specify zero for AX.
- DESQview will then display as much as it can at one time; this is useful
- if you need a 132-column display but do not have a video board which
- supports 132 columns.
-
- Press 'T' to adjust a number of toggles. Many of these may also be changed
- from within RBcomm.
- "Local echo" allows you to turn on half-duplex operation by default.
- "Verbose" sets whether to include terminal control sequences in a log file.
- "Strip parity bit" specifies whether the high bit should be stripped from
- all incoming characters, even when parity is set to None.
- "Visual bell" specifies whether to flash the screen instead of sounding a
- beep when a ^G is received (internally-generated beeps always use sound).
- "Should backspace send delete" specifies whether the values sent by
- backspace and control-backspace should be exchanged.
- "Check for enhanced keyboard" determines whether RBcomm will use the
- enhanced keyboard BIOS calls if it thinks those calls exist. Some
- systems incorrectly indicate support for those calls. Set this to
- 'N' if RBcomm appears to hang your system.
- "May RBcomm to change NumLock" determines whether RBcomm will change the
- state of the NumLock key when it receives the "keypad numeric mode" or
- "keypad application mode" commands. Disabling the NumLock changes is
- useful for laptop users without a separate number pad.
- "Save screen" specifies whether the current screen is saved prior to
- executing external programs (except for file transfers) and restored
- afterwards. If the screen is saved, you will be asked to press a
- key before the screen is restored.
-
- Finally, press 'O' for miscellaneous options.
- "Heap size" determines how much memory RBcomm allocates for macro files,
- macro execution, and some of RBcomm's own processing. This must be
- set to at least 800 bytes more than the size of the largest macro
- (.RBM) file. A larger setting will not harm, but will needlessly
- use more memory. Should you get an "out of memory" or "stack full"
- error message, you will need to increase this value. When set to
- zero, RBcomm will grab as much heap space as it can (about 26K).
- "Number of screens" specifies how many virtual terminals to allocate
- space for. This will become useful for the UnixWindows protocol;
- most users will want to set this value to 1.
- "Time between sends in idle mode" determines how often Idle mode (see
- Alt-I) sends some characters to keep the connection alive when you
- are not actively using RBcomm.
- "String idle mode sends" specifies what characters to send to keep the
- connection alive.
- "Answerback message" allows you to specify the string which RBcomm will
- send when it receives a ^E. The ANSWERBACK macro command can override
- this setting.
- "Default pace character" determines which character RBcomm will wait for
- after sending each line of text from the file being typed to the
- remote system. Setting this value to ^@ means that RBcomm will not
- pause after each line. This setting may be changed while RBcomm is
- running by using the PACECHAR macro command.
- "Use EMS for scrollback" determines whether RBcomm will allocate 32K
- of expanded memory (if available) for the pager and scrollback
- buffers. If set to Y and at least 32K of EMS is available, RBcomm
- will give you a 6K pager buffer and 26K scrollback buffer regardless
- of the next two settings.
- "Size of non-EMS pager buffer" determines how much memory RBcomm will
- allocate for the file pager's buffer when EMS is not available or
- has been disabled. Larger values can improve the pager's performance
- on files with long lines, but values greater than 6-8K will not have
- much of an effect unless you have an extremely large screen. Values
- smaller than the number of characters on the screen will cause
- significant slowdowns when viewing files or displaying a directory,
- due to thrashing as RBcomm constantly re-reads data.
- "Size of non-EMS scrollback buffer" determines how much memory RBcomm
- will set aside for storing text received from the serial port. As
- new text comes in, the oldest will be discarded. Whatever text is
- in the scrollback buffer may be viewed with Alt-O.
-
- On choosing "Quit" from the menu, you will be asked whether to save the
- new configuration to disk. If you specify that you want to save the changes,
- the executable on disk will be updated.
-
- ---------------------
- DESQview Installation
- ---------------------
-
- After performing the file copy and configuration described in the
- previous section, you need to install RBcomm on the DESQview Open
- Window menu. In DESQview, tap the Alt key to bring up the DESQview
- menu, then press "O" for the Open Window menu, and "AP" to add a
- program. Select "Other", then fill in the directory in which you've
- placed the RBcomm files and press Enter. You will be given the choice
- of RBcomm, RBcomm plus DSZ, and RBcomm 132col; select one or more and
- press Enter. Now use "CP" from the Open Window menu to change the
- paths and/or the keys for starting RBcomm.
-
- The only difference between "RBcomm" and "RBcomm + DSZ" is that the
- former allocates the minimum amount of memory for RBcomm to run (46K),
- which is not enough to invoke DSZ, but does save 19K when you do not
- need file transfer capability. Should RBcomm complain about
- insufficient memory (the window exits almost instantly), decrease the
- heap size on the "Other options" menu in RBCONFIG. If your environment
- is particularly large, you may need to use Change a Program to increase
- the window sizes by a K or two. With certain screen sizes, you may
- also need to give RBcomm 1K of system memory (on the advanced options
- screen).
-
- To get a 132-column display under DESQview, configure RBcomm to use
- 132-column mode and then make a .DVP file using "Change a Program"
- which has all fields except for "maximum width" set to the desired
- values. Change a Program only allows 127 columns in the window, so
- choose an arbitrary size smaller than that. After pressing Enter to
- save the .DVP, run the included DVPWIDTH program to change the maximum
- width to 132 columns, i.e.
- DVPWIDTH 132 RZ-PIF.DVP
- You must give the full name of the .DVP file, including the extension.
- Note that Change a Program will force you to change the window's width
- if you have set the width greater than 127 and run Change a Program
- again.
-
- If you do not wish to use the DVPWIDTH program, or your version of
- DESQview experiences difficulties with a 132-column setting in the .DVP
- file, RBcomm can still use 132-column windows through an alternate
- method. For this alternative, you must give it enough "system memory"
- to store the entire maximum-size screen. Whatever memory is used to
- store the initial screen size set under "Window Position" is then
- wasted, so that size should be set fairly small (such as 15 columns by
- the desired number of rows). If you are not interested in the reason,
- skip the rest of this paragraph. DV normally reuses the same section
- of memory when resizing the virtual screen. However, resizing it
- beyond the maximum defined by the .DVP causes an entire new buffer to
- be allocated. Thus, minimizing the "maximum screen size" also
- minimizes the DESQview overhead by reducing the size of the screen
- buffer which gets discarded.
-
- RBcomm is sufficiently DESQview-aware to ask DV for the size of the
- screen. If you want a 120x60 screen, just set the maximum window size
- to 120 columns and 60 rows. DESQview will display as much as it can on
- your screen, but RBcomm will use the full size. If you have enabled
- 132-column mode with RBCONFIG, RBcomm will also switch to 132 columns
- by the given number of rows when it receives the sequence "<Esc>[?3h".
-
- RBcomm refuses to load itself twice on the same serial port when
- running under DESQview. However, when shelled to DOS, you can load
- another copy in a different window, but make sure to exit the second
- copy before returning from the DOS shell, or the first copy will abort.
- The method RBcomm uses is compatible with ONLY1.SHP using the names
- "COM1" through "COM4" (depending on the serial port), so you can also
- keep RBcomm from conflicting with other programs that use a serial
- port, such as BBS mailers.
-
- Finally, RBcomm returns the rest of its time-slice to DV if it doesn't
- need a full slice. This improves the performance of programs in other
- windows, and makes supplemental programs such as TAME unnecessary (as
- phrased by TAME's author, RBcomm is "DV-polite").
-
- -----------------------------------------------------------------------------
- Dialing Directory
- -----------------
-
- The dialing directory is a specially formatted data file (rather than a
- plain text file) containing up to 250 entries. This data file may be
- created and maintained with RBCONFIG (see Editing the Dialing Directory
- below).
-
- For the convenience of those using RBcomm version 3.31 or earlier, or
- those wishing to distribute dialing entries for other RBcomm users,
- RBCONFIG has the capability to compile a plain text file into an RBcomm
- dialing directory. In the plain text file, each dialing entry consists
- of two lines, looking like this, with no blank lines between entries:
-
- Doctor's WOC Inn
- 14126214604|4800N81|B|OPUS|password|\\N2
-
- The first line contains the description which will be used on the dialing
- directory screen and when dialing. The second line contains six fields
- separated by vertical bars. These fields are
-
- 1. number to dial (direct connection if empty)
- 2. modem parameters, containing in order
- baud rate (110, 150, 300, 600, 1200, 2400, 4800, 9600, 19200, 38400,
- 57600)
- parity (N for none, E for even, O for odd, S for space,
- M for mark)
- data bits (5, 6, 7 or 8)
- stop bits (1 or 2)
- handshake to use when receive buffer is full
- (H for hardware RTS/CTS, X for software XON/XOFF)
- (optional, default is hardware)
- timed call flag
- (if handshake present and the character after the handshake
- is T, a short "bip" will sound about 50 seconds into each
- minute after establishing a connection. Every five
- minutes, the "bip" sounds twice)
- serial port number
- (if handshake is present, following either the handshake
- character or the "T" timed call flag with a comma and
- the number of the serial port will tell RBcomm to switch
- to that port before dialing)
- 3. terminal emulation
- A for ANSI with VT102 extensions
- B for ANSI-BBS (same as ANSI, but clearing screen also homes cursor,
- character set switching is disabled, and the AVATAR
- level 0 command set replaces two RBcomm private
- commands)
- V for VT52 with H19 extensions
- 4. keyboard macro file to load
- 5. password for this system (used by PASSWORD macro command). Display of
- passwords in the dialing directory may be turned on or off with
- RBCONFIG.
- 6. optional modem setup string, minus command lead-in defined by RBCONFIG
- (may include vertical bars). In the example above, the \\N2 tells
- my modem to use MNP error correction.
-
- If the keyboard macro file field is non-empty, the specified file will
- be loaded immediately upon successfully connecting with the remote
- system. Since each entry in the dialing directory can specify an
- independent set of keyboard macros, you can have a different set of
- keyboard bindings for each system. If the macro file specifies a
- binding for the ONLOAD "key", that macro will be executed immediately.
- Further, if the macro file specifies a binding for the AUTO "key", that
- macro will be executed immediately after the ONLOAD macro (if any).
-
- The setup string may contain the following special sequences:
- ~ pause for half a second
- \n send a line feed
- \r send a carriage return
- \f send a form feed
- \t send a horizontal tab
- \a send a ^G
- \b send a backspace
- \! send a break
- \~ send a tilde
- \\ send a backslash
-
- Example modem parameters:
- 1200E71X default COM port, 1200 bps, even parity, seven data
- bits, one stop bit, use Xon/Xoff handshake when
- receive buffer fills up
- 19200N81HT,2 COM2, 19,200 bps, no parity, eight data bits, one
- stop bit, use hardware handshake, and sound off
- every minute
-
- Compiling the Dialing Directory
- -------------------------------
-
- Once you have created a plain-text dialing file, you must compile it
- into the binary form used by COMM.COM. The directory compiler is
- invoked with
- RBCONFIG DIAL [-C<port>] <filename>
- where <filename> is the name of the dialing directory to compile and
- <port> is a number from 1 to 4 specifying which serial port is the
- default port when none is explicitly given in the file. Any extension
- given with the filename is ignored; the text file always has the
- extension .DIR and the compiled binary file has the extension .RBD.
-
- If you want to add entries from a dialing file to the dialing directory
- rather than creating a dialing directory from scratch, you can append
- new entries to an existing directory with
- RBCONFIG DIAL [-A<port>] <dialdir> <filename>
-
- Editing the Dialing Directory
- -----------------------------
-
- To interactively edit a dialing directory, use
- RBCONFIG DIAL -E <dialdir>
-
- You may wish to read the section on the format of a plain-text dialing
- file for information on the various options, and the special characters
- you may use in the initialization string.
-
-
- -----------------------------------------------------------------------------
- Environment Variables
- ---------------------
-
- RBcomm uses the following variables in its environment:
-
- COMSPEC specifies which program to load for Shell-to-DOS (Alt-D) and
- Execute-Program (Alt-G).
-
- RBCOMM specifies default commandline options (which may be overridden by
- the commandline). See below for the valid options. Note that only
- the first 160 bytes will be used due to internal space limitations.
-
- SWAPDIR overrides the default swap directory, where RBcomm stores itself
- when swapping to disk.
-
- -----------------------------------------------------------------------------
- Commandline Options
- -------------------
-
- RBcomm may be invoked with one or more options, described below. These
- options are processed from left to right; if an option is present
- multiple times, the rightmost instance will be the one in effect. The
- options in the RBCOMM environment variable (if present) are processed
- before the commandline, and thus are overridden by the commandline.
- Options are not case-sensitive.
-
- -B use BIOS calls to display characters received from the
- serial port (aka 'port check writes'). RBcomm's own
- menus and messages will still use direct screen writes.
- This option is primarily for the convenience of people
- using screen readers.
-
- -Cn select COMn, where 'n' may be 1 to 4. This option
- overrides the default set with RBCONFIG.
-
- -Ddir set the RBcomm directory to 'dir'. This option overrides
- the RBCONFIG default.
-
- -Mfile set the default macro file to use whenever not connected
- to a remote system. This option overrides the RBCONFIG
- default. Only the first 8 characters are used.
-
- -Nfile set the RBcomm dialing directory to 'file'. This option
- overrides the RBCONFIG default; it replaces the RBCDIAL
- environment variable used by prior releases. Only the
- first 12 characters are used; if no extension is given,
- it defaults to .RBD.
-
- -Pparm force default parameters for the current serial port.
- Instead of reading the port's parameters, RBcomm will
- set them to the value specified here. 'parm' is in the
- same format as used in the dialing directory, except
- that the port number is not allowed. You may intersperse
- -C and -P options to set forced parameters for more than
- one port.
-
- numlst a list of numbers to dial as if typed at the dialing
- directory (see Alt-Q below) prompt. Each number must
- be separated from the next by a comma. No blanks are
- allowed, as they signal the end of an argument on the
- command line.
-
- -----------------------------------------------------------------------------
- Memory Requirements
- -------------------
-
- RBcomm's memory usage is approximately
-
- 39.3K + heap size + screens + pager buffer + scrollback buffer
-
- where
- screens = number_of_screens * (max_size + 352)
- max_size = greater of (2*rows*columns) for 80 and 132-column modes
- pager buffer and scrollback buffer are both 0 if allocated in EMS
-
- If there is insufficient memory, the scrollback buffer is shrunk; if there
- is still not enough memory, the pager buffer is shrunk as well.
-
- -----------------------------------------------------------------------------
- Keyboard Commands
- -----------------
-
- The commands described here may be bound to other keys, but the default
- keystroke named here may always be used when preceded by Alt-= (hold down
- the Alt key and press the equal sign at the upper right of the typewriter
- section of the keyboard).
-
- Alt-A attack dial
-
- Repeatedly dials the number you select from the dialing directory
- until a connection is established. You may also manually enter a
- number to attack-dial.
-
- Alt-B send break
-
- Alt-C call a number
-
- Dial the number you select from the dialing directory (once only).
- You may also manually enter a number to dial. If you are currently
- connected to another system, you will be prompted whether to hang
- up. Press Esc to abort the dial and return to the current session.
- Press "Y" to disconnect and then dial a new number, or "N" to maintain
- the current connection and load new macros and parameters without
- dialing.
-
- Note that the modem parameters always have an "H" appended when neither
- "H" nor "X" is present in the dialing directory, since the handshake
- defaults to hardware.
-
- See also Alt-Q.
-
- Alt-D DOS shell
-
- Temporarily exit to DOS. Type "EXIT" to return to comm session.
- RBcomm will swap itself out of memory, leaving only 448 bytes plus
- its copy of the environment in memory (464 bytes when swapping to
- EMS). When swapping to disk, a 46K-96K swap file will be created
- in the directory you specified with RBCONFIG, and will be deleted
- when you return to the comm session. File transfers also create
- the temporary swap file.
-
- Alt-E toggle local echo
-
- By default, RBcomm assumes that the remote system will echo any
- characters you need to see. After pressing Alt-E once, RBcomm will
- display any characters you type without requiring the remote system
- to echo them. After pressing Alt-E a second time, RBcomm will once
- again assume that the remote system will echo characters.
-
- Note: you may also toggle local echo by pressing 'L' on the Alt-P
- parameters menu.
-
- Alt-F list files
-
- Display a three-up listing of the files matching a given filespec.
- This command uses the pager, whose commands are listed in a separate
- section below. Note that while the pager can back up past the
- beginning of its buffer, doing so can be slow for large directories.
- Please be patient if the screen is not updated instantly while backing
- up.
-
- Alt-G Go execute a program
-
- You will be prompted to enter a command. Everything up to the first
- blank is the program to execute, and the rest of the line is the
- command tail to pass to the program. If you do not specify an explicit
- path, RBcomm will search your PATH for you; similarly, if you do not
- give an explicit extension, RBcomm will look for both .COM and .EXE
- files.
-
- (to execute a batch file or a COMMAND.COM internal command, you should
- use
- "%VCOMSPEC% /c cmd"
- as the implicit COMMAND.COM invocation from earlier releases has been
- removed)
-
- Alt-H hang up
-
- Terminate the connection. First drops DTR, and if Carrier Detect is
- still active, sends the modem's hangup string. The default macro set
- is reloaded from disk (if present) or from the built-in defaults.
- If the CLEANUP "key" has a macro binding, it is executed before
- hanging up; if it includes the LOWER_DTR command, DTR will remain
- dropped.
-
- Alt-I idle
-
- This command allows you to keep a connection alive if you need to step
- away from your computer for a while. Sends a space followed by a
- backspace every two minutes (configurable with RBCONFIG) until you
- press a key to cancel the command.
-
- Alt-J jump to directory
-
- Pops up a window displaying the current directory. You may switch to
- a different directory by entering it in place of the displayed
- directory. Relative paths without a leading slash or backslash will
- change to a subdirectory of the current directory. If you specify a
- drive letter, that drive will become the current drive as well.
-
- Alt-K unused
-
- Alt-L toggle logging to file
-
- When pressed the first time, you will be asked for the name of a file
- to which all characters received from the remote system will be
- appended (percent signs introduce variable expansions--see the EXEC
- and OPEN_LOG commands below). When pressed the second time, RBcomm
- will no longer append received characters to that file. If verbose
- (see Alt-Y) is active, all characters will be appended exactly as
- received, otherwise any command sequences embedded in the received
- data are stripped out.
-
- Alt-M learn macro string
-
- When you press Alt-M, you will be asked to enter a text string of up
- to 79 characters, using the same editing keys used elsewhere. This
- text string may be replayed with Alt-N.
-
- Alt-N play back macro string
-
- Plays back the last string recorded with Alt-M, sending it to the
- remote system.
-
- Alt-O scrOllback
-
- This command pops up the scrollback pager, allowing you to review
- text which has already scrolled off the screen. The keystrokes
- which the pager understands are listed in a separate section below.
- In addition, 'M' marks the top of the currently displayed screenfull
- as the beginning of the region to write when 'W' is pressed. After
- pressing 'W', you will be prompted for a filename. The section of
- the scrollback buffer between the marked top (default: beginning of
- buffer) and the bottom of the currently displayed screen is appended
- to the specified file.
-
- Alt-P set parameters
-
- This command pops up a menu which allows you to set the following
- parameters: COM port, speed, parity, parity stripping, handshake,
- backspace translation, visual bell, and terminal emulation. You may
- also reset the terminal emulation to its initial state, in case the
- remote system leaves you stranded in a strange condition. Press Esc,
- Enter, or 'R' to exit this menu.
-
- Note that Alt-P will discard any characters which have been received
- but not yet processed, because it always reinitializes the serial
- port when it pops down.
-
- Alt-Q dial queue of numbers
-
- Repeatedly dials each number you specify until a connection is
- established with one of the numbers. The numbers are dialed in
- round-robin fashion until a connection is established. A beep will
- sound to notify you of the connection, and the name of the remote
- system and the modem's connect response will be displayed.
-
- If there were multiple numbers in the previous dialing attempt,
- Alt-Q will immediately continue dialing the numbers which to which
- RBcomm has not yet successfully connected.
-
- You specify the entries to dial by giving the numbers as they appear
- in the dialing directory, separated by commas or blanks. A number
- may be specified more than once, and will be dialed more than once
- during a round of dialing attempts. As a shortcut, you may separate
- two numbers by a dash to dial all numbers in the range, inclusive.
-
- Alt-R receive file
-
- Pops up a menu allowing you to select the protocol with which you wish
- to receive a file from a remote system. Press ESCape if you do not
- wish to receive a file. Note that Zmodem features automatic download,
- so you do not need to press Alt-R unless you wish to give DSZ
- additional parameters. You may also add additional autodownloading
- protocols--see the WHEN macro command in the next section.
-
- Not listed on the menu: ^G, ^Y, and ^Z pop up a parameter prompt,
- then proceed with the download specified by the corresponding
- non-control letter.
-
- Alt-S send file
-
- Pops up a menu allowing you to select the protocol with which you wish
- to send a file to a remote system. Press ESCape if you do not wish to
- send a file. After selecting a protocol, you will be asked to enter
- the name of the file to send (Ymodem, Ymodem-G, and Zmodem allow
- wildcards and multiple filespecs).
-
- If you press the control character corresponding to the desired
- protocol, the file(s) will be deleted after a successful transfer.
- For batch transfers, only the files corresponding to the first
- filespec are deleted.
-
- Alt-T type ASCII file to other system
-
- sends an ASCII file to the remote system, pausing after each line
- for the return to be echoed. The send may be aborted at any time
- by pressing Escape. The EXPAND_BLANK macro command may be used
- to turn on blank-line expansion (send a single space instead of
- blank lines). This feature is off by default.
-
- Alt-U load/save user interface as defined in keyboard macro file
-
- Note that keyboard macro files are always stored in the RBcomm
- directory as defined by RBCONFIG.
-
- WORDSTAR.RBM and EMACS.RBM contain the keyboard definitions for using
- WordStar (tm) and Emacs cursor movement commands on the cursor pad
- (i.e. Home goes to the start of the line, etc.) EMACS.RBM also binds
- all Alt-letter keys to be Esc-letter, making the Alt key into a true
- Emacs meta-key. You will need to use the Alt-= override to use the
- RBcomm commands while EMACS.RBM is loaded.
-
- Alt-V View file
- (toggle verbose, which used to be on Alt-V, is now on Alt-Y)
-
- Page through a text file. This uses a simple file lister which
- only understands a few keystrokes; they are listed in a separate
- section below.
-
- Alt-W select Which screen is visible
-
- Displays a menu of the available screens. Press the indicated
- number to make that screen the visible screen. If UnixWindows
- is not enabled, the selected screen will also be made the
- active screen (characters received from the serial port are
- displayed on the active screen). Under UnixWindows, the
- visible and active screens may be different, as the active
- screen is set by commands from the remote system; thus, only
- the visible screen is set by this command.
-
- Alt-X exit
-
- Terminate RBcomm. If you are still connected to the remote system
- (Carrier Detect asserted), you will be asked whether or not to hang
- up.
-
- Alt-Y toggle verbose
- (previously Alt-V)
-
- Toggles the verbose mode used with Alt-L. When not logging, the
- control characters which are not used for terminal commands will be
- displayed as ^X when received from the remote system. When logging to
- a file, terminal command sequences will only be stored in the log file
- if verbose mode is ON.
-
- Alt-Z send file with Zmodem
-
- This command will send the specified file(s) using the Zmodem
- protocol.
-
- Alt-1,2,3,4,5,6,7,8,9,0 dial first ten numbers in dialing directory
-
- Alt-F1 through Alt-F10 dial 11th through 20th number in dialing directory
-
- F1 pop up help screen
-
- Displays the contents of the help file for the current macro file
- (if that file is not found, RBcomm attempts to use RBCOMM.HLP).
- Press an Alt or function key to execute the default binding for the
- key. Escape exits immediately, and any other key pages through the
- help file (if more than 20 lines long).
-
- Alt-- cancel any pending WHEN, DELAYED, or WINDOW commands
-
- Alt-= use default binding of next keystroke
-
- If the keyboard has been redefined, pressing Alt-= will allow you to
- access the built-in default definitions (as listed in this section).
- Press Alt-= and then immediately press the key whose default
- definition you want to use. As a result, Alt-= is the only keystroke
- which may not be redefined.
-
- -----------------------------------------------------------------------------
- Line Editor
- -----------
-
- Whenever you are prompted for a line of input, you may use the following
- keys to edit the line:
-
- Esc abort
- Return finish input
- Home move to start of line
- ^A move to start of line
- End move to end of line
- Right move a character right
- ^D move a character right
- Left move a character left
- ^S move a character left
- ^Right move word right (to next blank)
- ^Left move word left (to previous blank)
- Del delete the character under the cursor and shift remainder of
- line left
- Backsp delete the character to the left of the cursor, and shift the
- remainder of the line left
- Alt-G delete the word to the right of the cursor
- Alt-H delete the word to the left of the cursor
- ^End delete from the cursor to the end of the line
- ^T transpose the two characters to the left of the cursor
- Alt-D insert an ASCII DEL (127) character
- Alt-P insert the contents of the cut buffer
- ^Q treat the next keystroke as a literal character to insert
-
- -----------------------------------------------------------------------------
- Pager
- -----
-
- The pager is used to display directories, files, help screens, and the
- scrollback buffer. It is fairly simple, supporting the following
- keystrokes:
-
- Up move up one line
- Down move down one line
- PgUp move up one screenfull
- PgDn move down one screenfull
- Space move down one screenfull, exiting if already at end of
- file/directory/buffer.
- Right (files only) shift the left margin right by eight spaces,
- allowing you to view lines extending past the right
- edge of the screen. When the left margin is other than
- zero, the indent is shown at the right edge of the status
- line.
- Left (files only) shift the left margin left by eight spaces if
- it is not already zero.
- Home restart the pager. For files and directories, you will
- be put back at the beginning of the file; for the scroll-
- back buffer, you will be placed at the end of the buffer.
- Esc exit from the pager.
-
- The scrollback pager adds the following keys to the above standard keys:
- M mark the top of the region to write to a file
- W write the marked region to a file
-
- The dialing directory adds the following keys:
- 0-9 start entering the number(s) to dial
- M specify a telephone number to dial manually
- R recall the last list of numbers to dial
-
- -----------------------------------------------------------------------------
- Error Messages
- --------------
-
- file not found
- RBcomm was unable to open the requested file. This may be due to
- wildcards or a misspelling in the filename, an invalid path,
- a lack of file handles (see FILES= in your DOS manual), or a file
- sharing conflict.
-
- invalid macro file
- the macro file you wanted to load is either corrupted or from an
- different version of RBcomm which uses an incompatible format for
- macro files. Try recompiling the macro file with the same version
- of the compiler as the version of RBcomm you are using.
-
- MODEM NOT RESPONDING
- RBcomm did not get an acknowledgement from the modem within four
- seconds of the last command. If you only get this message on attack
- or list dialing, you need to increase the delay before redialing
- with RBCONFIG (under "dialing parameters")--some modems take longer
- to reset after a hangup command than others.
-
- --out of memory--
- There was not enough memory to pop up the requested menu or prompt.
- Increase the heap size with RBCONFIG and try again.
-
- STACK FULL
- Your macro was so deeply nested that it ran out of space. This can
- be caused by an infinite recursion in your macro. Increase the heap
- size with RBCONFIG (under "Other options") and try again.
-
- -----------------------------------------------------------------------------
- Warnings
- --------
-
- Don't try to load a TSR while shelled to DOS. RBcomm won't be able to swap
- itself back in and will have to abort. Your connection will not be broken,
- however.
-
- Don't mess with the swap file while shelled. You'll be sorry.... (RBcomm
- is able to detect a missing or truncated swap file on returning, but not
- other changes)
-
- IMPORTANT: if you are swapping to a floppy drive, DO NOT UNDER ANY
- CIRCUMSTANCES replace that floppy disk while shelled to DOS or running a
- file transfer. You will definitely trash the file allocation tables and
- directory of the second disk. This is a problem with DOS itself (at least
- through 3.10, later versions may have corrected it) when faced with a
- diskette change while a file is open on the diskette which gets removed.
- The swap file is such an open file.
-
- -----------------------------------------------------------------------------
- Known Bugs and Limitations
- --------------------------
-
- If you are using a serial port which the BIOS does not recognize, RBcomm
- will most likely read garbage parameters from the port at startup, requiring
- you to set the parameters by hand with Alt-P or the -P commandline option.
-
- The pager has trouble with extremely long lines (>500 columns or so).
- When encountering such a line, you may not be able to move up or down by
- single lines. PgUp and PgDn will still work, however.
-
- RBcomm requires that the EMS page frame contain at least three pages
- in order to use EMS for the scrollback and pager buffers, and at least
- one page in order to swap to EMS. This is important when running under
- memory managers such as QEMM-386 which allow page frames smaller than
- the standard four pages.
-
- -----------------------------------------------------------------------------
- Macro Compiler
- --------------
-
- Syntax: MACRO srcfile [srcfile ...]
- compiles each of the specified source files in turn to a macro file
- with the same name and the extension .RBM. If no extension is
- specified for a source file, the default of .MAC is used.
-
- Important Note:
- RBcomm v3.4 and later macro files are INCOMPATIBLE with
- earlier versions. You must recompile all your macro files
- if RBcomm complains about invalid macro files.
-
- -------------------
- Macro File Commands
- -------------------
-
- Each command has the following form:
-
- keyname commandword [args]
-
- where keyname specifies to which key the command is to be bound. Keynames
- (which are not case-sensitive) are:
- F1 through F12 for the function keys
- +F1 through +F12 for the shifted function keys
- ^F1 through ^F12 for the control function keys
- @F1 through @F12 for the alt-function keys
- @A through @Z for the alt-letter keys
- @1 through @0 for the alt-digits
- Gray+, Gray-, Gray*, Gray/ for plus, minus, star, slash keys on keypad
- @Plus and @Minus, @Gr*, @Gr/ for Alt-Gray+, Alt-Gray-, Alt-Gray* and
- Alt-Gray/
- Left, Right, Up, Down for the cursor keys on the numeric pad
- Home, End, PgUp, PgDn, Ins, and Del for the other keypad keys
- KP5 for the '5' key on the number pad (enhanced keyboard)
- ^Home, etc. for the control versions of the numberpad keys
- CP_Home Home key on gray cursor pad
- CP_Up Up arrow on gray cursor pad
- CP_Down Down arrow on gray cursor pad
- CP_Enter Enter key on cursor pad
- etc.
- @Left, @Right, @Up, @Down, @Home, @End, @PgUp, @PgDn, @Ins, @Del for
- Alt- versions of the cursor pad keys
- ^Left, ^Right, etc for Ctrl- versions of the cursor pad keys
- ^Break for control-break
- @- @= @[ @\ @] @; @' @, @. @/ @` @* for various other Alt-keys
-
- There are also some pseudo-keys to which you may assign a macro:
- "OnLoad" is executed any time the macro file is loaded into memory
- "AutoDL" is executed whenever the autodownload mechanism is
- initialized. See the AUTO_XFER command for details.
- "Auto" is executed automatically when a connection is established
- "Reconnect" is executed automatically when reconnecting without
- hanging up and redialing
- "CleanUp" is executed when hanging up if carrier detect is active
- "OnAbort" is executed whenever a macro other than OnAbort aborts and
- displays the **ABORTED** message, just prior to displaying
- the message
- "Alarm" is executed whenever a connection is established with a remote
- system or when a file transfer (including TYPEing a file)
- completes. If not bound, a simple beep is generated.
-
- And there is a no-operation pseudo-key for use by FORCE_CLEANUP:
- "Null" does nothing and returns immediately
-
- Finally, there are two sets of pseudo-keys which can be used to
- override the default settings for file transfers.
- "#upload_x" will override the command string for the upload
- protocol with letter 'x' on the upload menu.
- Format: #upload_z "upload command string"
- "#download_x" will override the command string for the download
- protocol with letter 'x' on the download menu.
- Format: #download_z yes|no "download command string"
- The first parameter indicates whether or not RBcomm
- should prompt the user for a filename or parameters
- (which may be inserted in the download command using
- the %F substitution--see EXEC).
-
- You may assign macros to control keys by specifying "^x" as the key name,
- where "x" is the control key you want to use. Similarly, you may assign a
- macro to a regular key by preceding the character representing the key by a
- backslash (i.e. \A for capital 'A', \a for lowercase 'a'). Note that macros
- are never in effect when you are prompted for information by RBcomm; they
- only affect what (if anything) gets sent to the remote system.
-
- Finally, you may use "#nnn" where nnn is the decimal scancode of the key
- to which you wish to assign the macro (values of 224 through 255 are reserved,
- 167 through 223 are currently unused by any key combinations supported by
- the IBM ROM BIOS).
-
- Note that the cursor pad keys will execute the binding for the
- corresponding number pad key if not specifically bound (but not vice
- versa). CP_Enter defaults to the binding for @Enter.
-
- The commandword is not case-sensitive, but you must include the underscore
- if present and use the entire commandword (abbreviations are not
- supported).
-
- With the exception of the ANSWERBACK, TEST, TEXT, WAITFOR, and WHEN
- commands, all commands which take a string argument pop up a prompt if the
- string is empty (i.e. ""). Strings may include the following special
- sequences:
- ^x specified control character
- ^? ASCII DEL (127)
- \a ^G (bell)
- \b backspace
- \e escape
- \f form feed
- \n line feed
- \r carriage return
- \t horizontal tab
- \v vertical tab
- \\ backslash
- \^ carat
- \0 ASCII NUL (for TEXT command only)
- For character arguments, you may specify either
- 'c'
- where the character c is interpreted as for a string, or you may specify its
- ASCII value.
-
- Everything from a semicolon (unless it is in a string) to the end of the line
- is considered a comment, as are blank lines.
-
- If a line starts with #include rather than a key name, the specified file
- will be compiled into the macro file as if it were part of the current text
- file. Note that the string is processed just like any other strings, so
- that you must double any backslashes (or use forward slashes, instead).
- Format:
- #INCLUDE "d:/path/filename"
- an extension of .MAC is assumed if no extension is given, and the drive
- letter and path are optional (default is current drive and directory).
- #INCLUDEs may be nested up to twelve deep.
-
- If a line starts with #ignore rather than a key name, any subsequent
- occurrences of the keyname following the #ignore will be ignored, just as
- if you had already defined a binding for the key. This is useful when
- #include'ing a file if you do not want all the bindings in the included
- file.
- Format:
- #IGNORE <keyname>
-
- For readability, you may give names to extended keys with the
- #DEFKEY <newname> <keynumber>
- command. For example, "#defkey Proc1 199" will let you refer to
- "Proc1" and "#199" interchangeably.
-
- ABORT
- abort the current macro or operation as if the user had pressed Esc.
-
- ABORT_UNTIL
- Abort any currently executing UNTIL command after the command(s) it
- controls complete. If multiple UNTIL commands are nested, each is
- aborted as the commands it controls complete, until all pending
- UNTILs have been aborted. Useful mainly in conjunction with the
- DELAYED command to provide a timeout on UNTIL loops.
-
- See also DELAYED, UNTIL.
-
- ALARM
- Execute the macro bound to the "Alarm" pseudo-key. If Alarm is not
- bound, this command is equivalent to BEEP.
-
- See also BEEP, SOUND.
-
- ANSWERBACK "string"
- sets the answerback message to the specified string. If the string is
- empty (i.e. ""), answerback is disabled (making ^E a cursor-positioning
- command), otherwise, answerback is enabled.
-
- AT hh:mm:ss
- execute the following line (or lines if a MULTI) at the specified
- time. If the specified time is less than the current time, the
- command(s) will be executed the next day. The seconds may be
- omitted, in which case they default to 0.
-
- Note: the command(s) may actually execute later than requested if
- RBcomm is busy processing incoming characters at the time the
- command should execute. The command will execute as soon as RBcomm
- empties its receive buffer.
-
- See also DELAYED.
-
- AUTO_XFER
- reenable autodownloads/autouploads if they have been canceled by
- an ENDWHEN ALL_XFER. If the AutoDL pseudokey has a binding, it
- is executed; otherwise, a default routine equivalent to
- WHEN 0 "**^XB00"
- RECEIVE 'Z'
- is executed. The command ENDWHEN ALL is implemented as an
- ENDWHEN ALL_XFER followed by AUTO_XFER.
-
- Further, the dialer does an ENDWHEN ALL_XFER followed by an
- AUTO_XFER, so the AutoDL pseudokey will allow autodownloads to
- be preserved across a dial attempt which does not cause a new
- macro file to be loaded.
-
- The autodownloads are also reenabled with AUTO_XFER when hanging
- up and immediately after loading a new macro file.
-
- Note: Puma autodownload may be enabled with the following lines
- as part of the AutoDL pseudokey:
- WHEN 0 "^X^H^XPuma^X^H^X"
- RECEIVE 'P'
- Although I have not yet seen MPt (the renamed Puma), I understand
- that its autodownload string has changed, requiring
- WHEN 0 "^V^H^VMPt ^V^H^V"
- RECEIVE 'P'
-
- WARNING: do not invoke while autodownload is enabled, as you will wind
- up invoking a download multiple times for one download request....
-
- See also ENDWHEN, WHEN.
-
- AVATAR ON|OFF
- Specify whether AVATAR command sequences should be honored by
- the terminal emulator.
-
- See also RBCOMM_CMDS.
-
- AWAITKEY
- pause until a key is pressed. The next function which reads a key
- will read the key which was pressed. Returns immediately if there
- was any typeahead (including RBcomm's key stack).
-
- See also KFLUSH.
-
- BEEP
- sound the bell. Useful mainly in conjunction with the MULTI or
- DELAYED commands (see below).
-
- See also ALARM, SOUND.
-
- BREAK
- send a break to the remote system
-
- CALL keyname
- execute the macro (if any) bound to the specified key and then continue
- executing the current macro (if inside a MULTI).
-
- See also GOTO_KEY, PUSHKEY.
-
- CANCEL_DELAYED which
- cancel the specified delayed action. Currently supported:
- ALL cancel all delayed actions
- LAST cancel the last executed DELAYED. If called a second
- time without an intervening DELAYED, the second call
- is ignored.
-
- See also DELAYED.
-
- CANCEL_NOTIFY
- remove the notify window immediately instead of at the end of the
- configured period of time.
-
- CHDIR "dir"
- change the DOS default directory to the specified directory.
-
- CLOSE_LOG
- close the current log file. If logging is off, this command has no
- effect.
- See also OPEN_LOG, TOGGLE_LOG.
-
- CUT num dir "search"
- search the screen backwards from the current cursor position until
- the search string (case sensitive) is found, then copy "num"
- characters in the indicated direction (AFTER or BEFORE) to the cut
- buffer. The contents of the cut buffer remain unchanged if the search
- string is not found (in which case the completion status is set to
- FAILED for testing by IF or UNTIL). The cut buffer may be sent to
- the remote system with the PASTE command, inserted into a line
- being edited by pressing Alt-P, or inserted with the %C variable
- expansion.
-
- Note that trailing blanks are deleted from the cut buffer. In
- addition, the CUT command treats the entire screen (even if a WINDOW
- command was used to restrict output to a portion of the screen) as a
- single long line, ignoring all line wrapping for both search and cut.
-
- Examples:
- Screen contains "1234test5678cursor here->" and the cursor is as
- indicated. Then
- CUT 3 BEFORE "test"
- places "234" into the cut buffer, while
- CUT 6 AFTER "test"
- places "5678cu" into the cut buffer. Further,
- CUT 7 BEFORE ""
- will place " here->" into the cut buffer.
-
- See also PASTE, TRIM.
-
- DELAYED time
- execute the macro on the next line (or lines if it is a MULTI) the
- given amount of time from now. You may have up to six delayed
- commands active at any given time. The maximum delay time is 18
- hours; the macro compiler will complain if you attempt to use a
- greater delay. Times are specified as
- seconds
- minutes:seconds
- or hours:minutes:seconds
-
- Note: the command may actually execute later than requested if RBcomm
- is busy processing incoming characters at the time the command should
- execute. The command will execute as soon as RBcomm empties its
- receive buffer.
-
- See also CANCEL_DELAYED, WHEN.
-
- DIAL number redial
- dial the specified entry (0-39) from the dialing directory, or pop up
- the dialing directory if 'number' is PROMPT. 'redial' specifies how
- to dial:
- ONCE make only one attempt
- ATTACK try repeatedly until connected
- RECONNECT make a single attempt if not connected, or set
- parameters and password without dialing if already
- connected
-
- If the number is PROMPT, the user may enter multiple numbers. If
- 'redial' is RECONNECT, all but the first number will be ignored.
- Otherwise, the entire list will be tried either once or until a
- successful connect.
-
- See also LISTDIAL, MDIAL.
-
- DISPLAY "msg"
- Display the variable-expanded version (see EXEC for details) of the
- given string at the current cursor position, and update the cursor
- position to be at the end of the string. This is similar to the
- MESSAGE command, but it always displays at the current position;
- MESSAGE also does not change the cursor position. The characters
- ^A through ^F and ^H in the string invoke special actions. ^C clears
- from the current position to the end of the line while ^H backs up
- one column if not already at the left edge; the other special
- characters are detailed under "Writing your own Help FIles".
-
- See also MESSAGE.
-
- DVEXEC ON|OFF "DVP-command"
- Start a program in a separate DESQview window. The first
- parameter specifies whether RBcomm should keep its serial port
- routines active; if OFF, the other program may safely perform
- serial I/O and RBcomm will wait until it terminates (if ON,
- RBcomm will continue immediately, but the new program may not
- take over the serial port interrupt without disrupting RBcomm).
- The second parameter specifies the full name of the .DVP file
- to be launched and optionally commandline parameters to
- override those stored in the .DVP.
- Example:
- DVEXEC OFF "C:/DV/OZ-PIF.DVP /X"
- might call the OZSMALL program to perform a CompuServe
- B+ file transfer, forcing its commandline to "/X"
- (meaning exit on completion).
-
- ECHO ON|OFF
- ECHO ON forces half-duplex (local echo on) mode, ECHO OFF forces
- full-duplex (local echo off).
- (see Alt-E)
-
- See also TOGGLE_ECHO.
-
- ENDWHEN which
- cancel the specified WHEN command. Currently supported:
- ALL cancel all WHENs except the autodownloads
- ALL_XFER cancel all WHENs including the autodownloads
- LAST cancel the last executed WHEN. A second call without
- an intervening WHEN acts the same as ENDWHEN ALL.
-
- Note: ENDWHEN ALL is implemented as an ENDWHEN ALL_XFER followed
- by an AUTO_XFER.
-
- See also AUTO_XFER, WHEN.
-
- EXEC "command-to-execute"
- everything up to the first blank in the string specifies the program to
- execute (the PATH will be searched if no explicit path is given, and
- both .COM and .EXE will be looked for if there is no explicit
- extension), the remainder of the string is the command tail to pass to
- the program. Note that a following IF command will always consider
- the EXEC to have succeeded if you use COMMAND.COM to run the program
- with the construct
- "%VCOMSPEC% /c cmd"
- due to a misfeature of COMMAND.COM.
-
- If SAVE_SCREEN is ON, RBcomm will prompt for a key, then restore
- the screen to the state it was in before the EXEC. No message will
- be displayed if the program returns an error; however, an error
- message will still be displayed if there was an error while attempting
- to load the program.
-
- Within the command, a percent sign introduces a variable substitution.
- The following sequences are supported:
- %a hexadecimal I/O base address being used
- %C contents of the cut buffer (see CUT and PASTE)
- %d current date, in format mm-dd-yy
- %D current directory, including drive
- %F file(s) to transfer; this substitution is only meaningful
- for a file transfer parameter string, and has an undefined
- action elsewhere
- %i IRQ number being used (0-15)
- %I get input from user. The following characters up to the next
- percent sign are used as the prompt and then discarded.
- %M current macro file name
- %N name of current remote system (from dialing directory)
- %p port number (1-4)
- %P port parameters, in same format as dialing directory
- display
- %s current serial port speed
- %t current time, in format hh:mm:ss
- %V get an environment variable. The following characters up to
- the next percent sign are used as the name of the variable
- and then discarded.
- %w current switch character
- %% a percent sign
- %/ a forward slash unless the last character of the expansion
- for the string up to this point is a slash or backslash
- %\ a backslash unless the last character of the expansion
- for the string up to this point is a slash or backslash
-
- See also EXECN, IF, SHELL.
-
- EXECN "command-to-execute"
- This command is identical to EXEC, except that no error box is
- displayed in the event of an error. If SAVE_SCREEN is ON, the
- screen is restored without pausing for a keystroke.
-
- See also EXEC.
-
- EXIT errorlevel
- End RBcomm. Will prompt you whether or not to hang up if you are
- still connected to another system. Returns the specified errorlevel
- to DOS; usually this should be zero, but other values may be used
- to control batch file execution.
-
- EXPAND_BLANK ON|OFF
- Specify whether RBcomm should send a single blank instead of a
- completely blank line when TYPEing a file (see Alt-T and TYPE).
- If ON, a blank will be sent to separate two consecutive
- carriage returns (TYPE converts both CRLF and LF to CR to
- simulate keyboard input); if OFF, no extra blanks will be
- generated regardless of the data in the file.
-
- See also TYPE.
-
- FDELETE "filespec"
- delete the file(s) named by filespec (which may include wildcards).
- Note that there is no confirmation requested, so use this command
- with care!!!
-
- See also FILES.
-
- FILES "filespec"
- display a three-up list of the files matching the filespec. This
- uses the file pager described above.
-
- See also FDELETE.
-
- FORCE_CLEANUP keyname
- execute the following line(s), then execute the macro bound to
- "keyname" regardless of how the commands are exited (i.e. normally,
- ABORT, or <Esc>). FORCE_CLEANUPs may be nested, in which case
- the innermost one is the only one to execute unless the cleanup
- code executes an ABORT itself (then execution gets passed to the one
- enclosing it, etc.). If no cleanup is needed and the FORCE_CLEANUP
- is merely being used to prevent a complete abort on Esc, the pseudo-
- key Null may be used. Null is guaranteed to perform no action and
- return immediately.
-
- GOTO_KEY keyname
- continue execution with the specified macro (if bound). Never returns
- to the current macro. If the key is not bound (i.e. GOTO_KEY Null),
- execution resumes at the point from which the current macro was
- CALLed, effectively producing a return from a nested macro.
-
- See also CALL, PUSHKEY.
-
- HANGUP
- hang up. Executes macro bound to "CleanUp" before actually hanging
- up if carrier detect is active. After hanging up, the default macro
- file is reloaded (thus cancelling any remaining WHENs and DELAYEDs).
-
- See also HANGUP_ONLY.
-
- HANGUP_ONLY
- hang up, but do not execute the "CleanUp" macro or reload macro files.
-
- See also HANGUP.
-
- HELP
- pop up the help screen. If you currently have the macro file FOO
- loaded, RBcomm first attempts to read the file FOO.HLP in the RBcomm
- directory. If it is unable to do so, it then attempts to read
- RBCOMM.HLP.
-
- While viewing the help screen(s), you may enter an Alt-key command.
- This will immediately exit the help system and execute the command
- right away. If you press Alt=, that fact will be remembered, and
- the Alt= will be used to quote the next Alt-key command you press
- while in the help system.
-
- IDLE
- go into idle mode, sending a blank followed by a backspace every 2
- minutes. Press Esc to end idle mode.
-
- Both the interval and the sequence sent by idle mode may be configured
- with RBCONFIG.
-
- IF SUCCESS|FAILED|CONNECTED|OFFLINE|DV|NOT DV
- IF SUCCESS and IF FAILED conditionally execute a command based on the
- completion status of an immediately preceding EXEC, SHELL, SEND,
- SENDFILE, RECEIVE, RECEIVEFILE, or WAITFOR. The following line (or
- lines if a MULTI) is executed only if that prior command was
- successful in the case of IF SUCCESS, or if it failed in the case of
- IF FAILED.
-
- IF CONNECTED executes the following command if carrier detect is
- asserted, while IF OFFLINE executes the following command if
- carrier detect is deasserted.
-
- IF DV executes the following command if RBcomm has detected that it
- is running under DESQview, while IF NOT DV executes the following
- command only if RBcomm is not running under DESQview.
-
- For example, if you want to execute a program only after failing to
- see a particular string, you would use
-
- MULTI
- WAITFOR 10 "don't run program"
- IF FAILED
- EXEC "someprog args"
- END
-
- See also ABORT_UNTIL, EXEC, SHELL, SEND, RECEIVE, WAITFOR, UNTIL.
-
- KFLUSH
- empty the keyboard buffer (including RBcomm's key stack).
-
- See also AWAITKEY, TFLUSH.
-
- LEARN
- start learning a macro string. The recorded string may be sent to
- the remote system with RECALL.
-
- See also LOAD_MACRO, RECALL.
-
- LISTDIAL "numbers"
- dial the specified numbers from the dialing directory repeatedly until
- a connection is established with one of the numbers. If the empty
- string is specified, the dialing directory is popped up and the
- previous list of numbers (less the system to which RBcomm
- established a connection) is recalled.
-
- Each of the numbers in the list must be separated from the previous
- number by one or more spaces or commas. For example, "1,5 7,2 4"
- would attempt to dial entry 1, then entry 5, then 7, then 2, and
- finally entry 4 before repeating. Any numbers in the list which are
- higher than the highest-numbered entry in the current dialing
- directory are silently skipped.
-
- See also DIAL, MDIAL.
-
- LOAD_MACRO "file"
- load the specified macro file from the RBcomm directory. If an empty
- filename is given, the user will be prompted for a name, which
- defaults to the name of the currently loaded macro file. The current
- macro (if any) and any that it had interrupted are aborted. However,
- if the interruption occurred during a command of extended duration
- such as a WAITFOR, that command will complete normally before the
- macro is aborted.
-
- See also LEARN, RECALL.
-
- LOG "filename" "message"
- append the specified message to the named file. Both the filename
- and the message may contain variable expansions as described under
- EXEC. If the filename is (or expands to) the empty string "", the
- expanded message is appended to the current log file (if any).
-
- See also OPEN_LOG.
-
- LOWER_DTR
- requests that DTR remain dropped after the next HANGUP or HANGUP_ONLY
- command. The best place to put this command is in your CleanUp macro.
-
- LTRIM CUTBUFFER "trimchars"
- remove from the left (beginning) of the cut buffer (see CUT) the
- longest sequence of characters consisting entirely of characters in
- "trimchars". A future version of RBcomm supporting string variables
- will permit trimming more than just the cut buffer.
-
- Example: if a previous CUT command has placed "12 A22B 34" into the
- cut buffer, the command
- LTRIM CUTBUFFER " 1234"
- will result in "A22B 34" becoming the contents of the cut buffer,
- available for the next PASTE command or @P in the input editor.
-
- See also CUT, RTRIM, TRIM.
-
- MDIAL "number" ONCE|ATTACK
- dial the specified phone number as if it had been entered as the
- manual number for the dialing directory display.
-
- See also DIAL, LISTDIAL.
-
- MESSAGE row col msg
- Display the result of expanding any variables in the specified message
- (see EXEC for details) starting at the given row and column on the
- screen. If either row or column is 255, use the current row or
- column. Does not change the current cursor position, unlike the
- DISPLAY command. As with DISPLAY, the characters ^A through ^F and ^H
- specify special actions.
-
- See also DISPLAY.
-
- MESSAGEBOX msg
- if running under TopView or DESQview, a window with the given message
- will pop up for three seconds. This command is ignored otherwise.
-
- The message has any variables expanded, and the first 40 characters
- are displayed in the pop up window. See EXEC for the details of
- the variable expansion.
-
- See also NOTIFY, CANCEL_NOTIFY.
-
- MULTI
- the following lines, up to but not including a line starting with END,
- are assigned to the specified key. The macros assigned to the key
- may not total more than 253 bytes, and the macro compiler will
- complain if they do.
-
- The format of the following lines is the same as for a regular macro,
- except that you do not specify a keyname. For example, to make
- shift-F2 switch terminal emulation to VT52, use
-
- +F2 MULTI
- PUSHKEY 13 0
- PUSHKEY 'V' 0
- PARAM_MENU
- END
-
- You may also use { and } on separate lines as synonyms for MULTI
- and END. The braces are preferred, as MULTI/END will be phased out
- in future versions.
-
- MUSIC ON|OFF
- specify whether ANSI music should be enabled while using the
- ANSI BBS terminal emulation. This switch is necessary because
- the command to play music conflicts with a standard ANSI
- control sequence (Esc [ M).
-
- See also PLAY, SOUND.
-
- NOTIFY msg
- if running under TopView or DESQview, and RBcomm determines that it is
- in the background, a window with the given message will pop up for
- three seconds. This command is ignored otherwise.
-
- The message has any variables expanded, and the first 40 characters
- are displayed in the pop up window. See EXEC for the details of
- the variable expansion.
-
- See also CANCEL_NOTIFY, MESSAGEBOX.
-
- OPEN_LOG "file"
- if logging is on, the current log file will be closed. Then, the
- specified log file will be opened (if no name is given, a prompt is
- popped up). The same variable expansions which are valid for
- the EXEC command are applied to the filename which is given (or
- entered by the user).
-
- For example, to allow the environment variable RBLOG to specify the
- base name of the log file, use
- OPEN_LOG "%VRBLOG%.LOG"
-
- See also EXEC, CLOSE_LOG, TOGGLE_LOG, RECEIVE.
-
- PACECHAR 'c'
- set the pace character for the TYPE command to 'c'. RBcomm waits
- up to three seconds for the pace character when TYPEing a file to
- the remote system. RBcomm will not wait if the pace character is
- ASCII 0 (^@).
-
- See also TYPE.
-
- PARAM_MENU
- pop up the "Set Parameters" menu
-
- PASSWORD
- send the password defined in the dialing directory. Does not send
- a carriage return or any other terminating sequence.
-
- See also TEXT, TYPE.
-
- PASTE
- send the contents of the cut buffer to the remote system.
-
- See also CUT.
-
- PAUSE num-ticks
- halt execution for num-ticks/18 seconds. Useful mainly in conjunction
- with the MULTI command (see above).
-
- PLAY "play-string"
- play the notes specified by the string. The string may contain
- the following directives:
- An
- Bn
- Cn
- Dn
- En
- Fn
- Gn play the given note, 'n' specifies duration as
- a fraction of a whole note, defaults to that
- given by the last L command. A '#' or '+'
- between the letter and 'n' produces a sharp
- note, while a '-' produces a flat note.
- Ln specify the default length of notes as 1/n of a
- whole note
- Mx specify music type, x=L, N, or S
- L)egato: note uses entire period
- N)ormal: note uses 7/8 of its time period
- S)taccato: note uses 3/4 of its time period
- Nn play note number 'n', from 1 to 95
- On specify octave number, 0 to 9. O3 starts at
- middle C
- Pn rest for the specified period (1/n of a whole
- note). If 'n' is not present, use the length
- given by the last L command
- Tn specify tempo, 32 to 255
- . following A-G, N, or P, increases the note's
- length by 1/2.
-
- See also BEEP, SOUND.
-
- PUSHKEY key scan
- or
- PUSHKEY keyname
- put the specified key/scancode pair onto RBcomm's internal keyboard
- stack, where the last pushed pair will be the next keystroke read
- by RBcomm. The stack is currently eight keystrokes in size, and any
- PUSHKEY executed while the stack is full will simply be ignored.
- "keyname" may be the name of any keystroke recognized by the macro
- compiler. <scan> is 0 for regular ASCII characters, and 1 for
- extended ASCII codes (i.e. function keys).
-
- Useful mainly in conjunction with the MULTI command (see above).
-
- RBCOMM_CMDS ON|OFF
- Specify whether the terminal emulator should honor RBcomm
- private commands.
-
- See also AVATAR.
-
- RECALL
- send the last string recorded with LEARN to the remote system.
-
- See also LEARN.
-
- RECEIVE 'type'
- start receiving a file with the specified protocol
- 0 prompt for protocol
- 'A' ASCII (capture to file--equivalent to OPEN_LOG "")
- 'X' Xmodem with parameters
- 'K' Xmodem-K with parameters
- 'Y' Ymodem
- '^Y' Ymodem with parameters
- 'G' Ymodem-G
- '^G' Ymodem-G with parameters
- 'Z' Zmodem
- '^Z' Zmodem with parameters
-
- See also IF, OPEN_LOG, SEND, TYPE.
-
- RECEIVEFILE 'type' "parameters"
- start receiving using the specified protocol (which may be any of the
- ones listed for RECEIVE except 0 or 'A'), passing the specified
- parameters to the file transfer module. Unlike RECEIVE, this command
- will not pop up any messages unless it is unable to load the file
- transfer module; in case of an error, the completion status is set
- to FAILED.
-
- See also RECEIVE, SENDFILE.
-
- REPEAT times
- repeat the command on the next line (or lines if a MULTI) the specified
- number of times.
-
- RFLUSH
- clear any characters which may still be in the serial port receive
- buffer.
-
- See also KFLUSH, TFLUSH.
-
- RTRIM CUTBUFFER "trimchars"
- remove from the right (end) of the cut buffer (see CUT) the longest
- sequence of characters consisting entirely of characters in
- "trimchars". A future version of RBcomm supporting string variables
- will permit trimming more than just the cut buffer.
-
- Example: if a previous CUT command has placed "12 A22B 34" into the
- cut buffer, the command
- RTRIM CUTBUFFER " 1234"
- will result in "12 A22B" becoming the contents of the cut buffer,
- available for the next PASTE command or @P in the input editor.
-
- See also CUT, LTRIM, TRIM.
-
- SAVE_MACRO "file"
- no longer supported.
-
- SAVE_SCREEN ON|OFF
- determine whether or not to save the current screen while executing
- external programs (other than file transfer). The state of this
- flag slightly modifies the behavior of EXEC, EXECN, and SHELL.
-
- See also EXEC, EXECN, SHELL.
-
- SCROLLBACK
- bring up the scrollback pager. In addition to the standard keystrokes
- understood by the pager, 'M' marks the top of the currently displayed
- screenfull as the beginning of the region to write when 'W' is pressed.
- After pressing 'W', you will be prompted for a filename. The section
- of the scrollback buffer between the marked top (default: beginning of
- buffer) and the bottom of the currently displayed screen is appended
- to the specified file.
-
- SELECT_SCREEN num
- select a new screen to be the visible and active screen. If "num" is
- PROMPT, displays a menu of the available screens.
-
- SEND 'type'
- prepare to send a file with the specified protocol
- 0 prompt for protocol
- 'A' ASCII
- 'X' Xmodem
- 'K' Xmodem-K
- 'Y' Ymodem
- 'G' Ymodem-G
- 'Z' Zmodem
- control character versions of any of the above ('^X', '^Y', etc) will
- delete the file(s) corresponding to the first filespec after sending.
-
- See also IF, SENDFILE, RECEIVE, TYPE.
-
- SENDFILE 'type' "file"
- send the specified file with the given protocol, which may be any of
- the ones listed for SEND except 0 or 'A'. Unlike SEND, this command
- will not pop up any messages unless it is unable to load the file
- transfer module; in case of an error, the completion status is set
- to FAILED.
-
- See also RECEIVEFILE, SEND.
-
- SHELL
- shell to DOS. If SAVE_SCREEN is ON, the original screen will be
- restored when you exit from the subshell.
-
- See also EXEC, IF.
-
- SOUND freq dur
- Generate a tone with a frequency of <freq> Hertz for <dur> clock
- ticks (max 255). If the frequency is 0, a musical pause of the
- specified duration is created. If both frequency and duration are
- zero, all queued tones are discarded (applies only to DESQview at
- this time).
-
- See also BEEP, PLAY.
-
- TEST EXISTS "filespec"
- determine whether any files matching the filespec exist. Sets the
- status to SUCCESS if at least one exists, FAILED if none. The status
- may be checked with IF or UNTIL commands.
-
- See also TEST WHEN, IF.
-
- TEST WHEN "str"
- determine whether a WHEN with the specified search string is currently
- active. Sets the status to SUCCESS if at least one exists, FAILED if
- there are no WHENs with the specified string. The status may be
- checked with IF or UNTIL commands.
-
- See also IF, WHEN, TEST EXISTS.
-
- TEXT "msg"
- send the specified characters out the comm port. "msg" is limited to
- 253 characters.
-
- TFLUSH
- discard any characters queued for transmission to the remote system
- which have not yet been sent.
-
- See also KFLUSH, RFLUSH.
-
- TOGGLE_ECHO
- toggle the state of local echoing
-
- See also ECHO.
-
- TOGGLE_LOG
- if logging is currently on, turns off logging received data to file
- if logging is off, pops up a prompt for the name of the capture file
-
- See also OPEN_LOG, CLOSE_LOG.
-
- TOGGLE_VERBOSE
- toggle the state of verbose mode (see Alt-Y)
-
- See also VERBOSE.
-
- TRANSLATE_BS ON|OFF
- TRANSLATE_BS ON turns on backspace/delete swapping, TRANSLATE_BS OFF
- turns it off.
-
- TRIM CUTBUFFER "trimchars"
- remove from both beginning and end of the cut buffer (see CUT) the
- longest sequence of characters consisting entirely of characters in
- "trimchars". A future version of RBcomm supporting string variables
- will permit trimming more than just the cut buffer.
-
- Example: if a previous CUT command has placed "12 A22B 34" into the
- cut buffer, the command
- TRIM CUTBUFFER " 1234"
- will result in "A22B" becoming the contents of the cut buffer,
- available for the next PASTE command or @P in the input editor.
-
- See also CUT, LTRIM, RTRIM.
-
- TYPE "file"
- send the specified file to the remote system as a stream of ASCII
- characters. Pauses at the end of each line and waits for the pace
- character to be echoed (will continue after three seconds even if
- the echo is not seen). Equivalent to
- SEND 'A'
- if no filename is given.
-
- See also EXPAND_BLANK, PACECHAR, SEND.
-
- UI_MENU
- No longer supported. Use LOAD_MACRO "" instead.
-
- See also LEARN, LOAD_MACRO.
-
- UNTIL SUCCESS|FAILED|CONNECTED|OFFLINE
- repeatedly executes the following line (or lines if a MULTI) until
- the status of the last action is either success for UNTIL SUCCESS
- or failure for UNTIL FAILED. UNTIL CONNECTED repeatedly executes
- the following command until carrier detect becomes active, while
- UNTIL OFFLINE repeats until carrier detect drops.
-
- See also ABORT_UNTIL, IF.
-
- VERBOSE ON|OFF
- VERBOSE ON turns on verbose mode, VERBOSE OFF turns off verbose mode.
- (see Alt-Y)
-
- See also TOGGLE_VERBOSE.
-
- VIEW "filename"
- display the specified file one screenfull at a time. Pops up a prompt
- if the null filename is given.
-
- Pressing the space bar displays the next screen, Escape exits the
- file view.
-
- WAITFOR timeout "wait-string"
- wait up to timeout seconds for the specified string of characters to
- arrive over the comm port. Useful mainly in conjunction with the
- MULTI command (see below).
-
- You may test whether the string was actually received by following
- the WAITFOR with IF SUCCESS or IF FAILED (unlike versions prior to
- 3.11, a failed WAITFOR does not abort the MULTI it is a part of).
-
- See also IF.
-
- WHEN iterations "when-string"
- execute the command on the following line (or lines if it is a MULTI)
- whenever the "when-string" is encountered in the data stream coming
- from the remote system. After the string has been encountered
- "iterations" times, the WHEN is automatically canceled (if iterations
- is zero, the WHEN must be explicitly canceled with ENDWHEN).
- You may have up to six WHENs active at any time (eight if you cancel
- the autodownload [see ENDWHEN above]). All WHENs are canceled on
- hanging up or dialing a number, and autodownload is re-enabled.
-
- WHENs are tested in the order in which they were executed, so multiple
- WHENs with the same when-string will trigger in the order in which
- they were asserted.
-
- This can be an extremely powerful command. For example, you can
- implement another autodownloading (or uploading!) protocol simply by
- adding
- WHEN 0 "start-string"
- EXEC "xfer-program parms"
- to the AUTO or OnLoad macro. On CompuServe, you can make Ymodem
- autodownloading by adding
- WHEN 0 "initiate YMODEM receive"
- RECEIVE 'Y'
- to the OnLoad macro.
-
- The built-in Zmodem autodownload corresponds to
- WHEN 0 "**^XB00"
- RECEIVE 'Z'
- while Zmodem auto-upload can be added with
- WHEN 0 "**^XB01"
- SEND 'Z'
-
- The standard Puma autodownload is equivalent to the lines
- WHEN 0 "^X^H^XPuma^X^H^X"
- RECEIVE 'P'
- [thanks to Matthew Thomas for publishing his autodownload string!].
-
- See also DELAYED, ENDWHEN.
-
- WINDOW row col width height
- limit the terminal emulator to a portion of the full screen.
-
- WINDOW 0 0 255 255 will restore use of the full screen regardless of
- the screen size.
-
- -----------
- Time Limits
- -----------
-
- The maximal time intervals which may be specified for various commands are:
- 255 ticks (~14 seconds) PAUSE, SOUND
- 255 seconds (4.25 minutes) WAITFOR
- 18 hours (64800 seconds) DELAYED
-
- -----------------------------------------------------------------------------
- Ready-Made Macro Files
- ----------------------
-
- The RBcomm distribution includes the following macro files:
-
- AVATAR.MAC for use with a BBS that supports AVATAR emulation in
- its full-screen editor. This file implements the so-
- called "DOORWAY mode", passing through all keystrokes.
- To access RBcomm's commands, you must use the Alt=
- escape key before the RBcomm command key.
-
- AVATOPUS.MAC for use with Opus 1.10 or later BBSs, or compatibles
- such as Maximus. Implements DOORWAY mode as AVATAR.MAC
- does, but also adds logon scripts for the OPUS CBCS
-
- BAREOPUS.MAC
-
- CPOINT.MAC logon to Central Point Software's BBS
-
- DDJ.MAC logon to M&T Publishing's BBS to access the DDJ listings
-
- EMACS.MAC for use with Unix systems. Turns your Alt key into a
- Meta key.
-
- EXAMPLES.MAC various sample macros illustrating different features.
-
- LK201.MAC emulate an LK201 keyboard
-
- OPUS.MAC
-
- QDECK.MAC logon to Quarterdeck's BBS
-
- RBCOMM.MAC default macros
-
- VT100.MAC emulate a VT100 keyboard
-
- VT3270.MAC emulate a VT100/IBM 3270 keyboard
-
- VT52.MAC emulate a VT52 keyboard
-
- WORDSTAR.MAC send WordStar motion commands using arrow keys
-
- -----------------------------------------------------------------------------
- Writing your own Help Files
- ---------------------------
-
- Help files are plain ASCII files with the exception that several control
- characters are used to change character attributes within a line (each
- line starts with the default attributes).
-
- ^A (A)lternate foreground and background colors, thus turning
- reverse video on or off
- ^B toggle the (B)old bit
- ^D reset to (D)efault attributes
- ^E switch to underlined color as defined by RBCONFIG
- ^F toggle (F)lashing (blink bit)
-
- -----------------------------------------------------------------------------
- Terminal Emulation
- ------------------
-
- RBcomm supports three terminal emulations. ANSI provides standard ANSI
- escape sequences plus most VT102 and many VT200 escape sequences. BBS is
- identical to ANSI except that clearing the screen with Esc-[-J or Esc-[-2-J
- also homes the cursor, character set switching is disabled, and two of
- RBcomm's private commands are replaced by the AVATAR level 0 command set.
- Finally, VT52 replaces many of the Esc-letter sequences in ANSI with the
- actions a VT52 or H19 would perform. In addition, in all of these modes,
- RBcomm has its own, much more compact command set (which may optionally
- be disabled to permit display of the corresponding control characters).
-
- ------------------
- Control Characters
- ------------------
-
- Note: Control characters marked with (RBcomm) may be displayed if the
- terminal emulation is set to "BBS" and RBcomm private commands are
- disabled.
-
- ^A UnixWindows command character (see below for sequences)
- ^B move cursor right one position (RBcomm)
- ^C move cursor down a line (RBcomm)
- ^D move cursor left one position, does not wrap to previous line (RBcomm)
- ^E send the answerback string to the remote system (ANSI and VT52 only)
- ^F special sequences (see below) (RBcomm)
- ^G sound bell, or flash screen if visible bell enabled
- ^H move cursor left one position, wraps to previous line
- ^I move to next tab stop
- ^J move cursor down a line, scrolling screen when at bottom
- ^K insert a blank line
- ^L clear screen and home cursor
- ^M move cursor to start of line
- ^N "shift out"--switch to G1 character set (VT100)
- ^O "shift in"--switch to G0 character set (VT100)
- ^P clear rest of line (Note: if AVATAR is in cooked mode, ^P is the
- "cook" character, causing the next character to have its high three
- bits cleared; two consecutive ^Ps will be needed to give the
- clear-line command) (RBcomm)
- ^R change to reverse video (RBcomm)
- ^T change character attribute to underlined (RBcomm)
- ^U clear underlined attribute and reverse video (RBcomm)
- ^V start of an AVATAR command (see below)
- ^W delete character at cursor position, rest of line shifts left (RBcomm)
- ^X insert a blank at the cursor's position, push rest of line
- right (RBcomm)
- ^Y repeat the following character the number of times specified by
- the second character after the ^Y
- ^Z delete line cursor is on (RBcomm)
- ^[ escape sequence (see below)
- ^\ turn on insert mode (RBcomm)
- ^] turn off insert mode (RBcomm)
- ^^ move cursor up a line (RBcomm)
- ^_ the following two characters (less 32) specify the new cursor
- column and row. i.e. ^_-blank-blank homes the cursor. (RBcomm)
-
-
- ----------------
- Escape Sequences
- ----------------
-
- Esc-blank-F turn off eight-bit control characters
- Esc-blank-G turn on eight-bit control characters. When eight-bit control
- characters are enabled, many of the characters from 80h through
- 9Fh are equivalent to Esc-<char-40h>.
- Esc-( (VT100) next character ('0', '1', '2', 'A', or 'B') sets G0 character
- set
- Esc-) (VT100) next character ('0', '1', '2', 'A', or 'B') sets G1 character
- set
- Esc-# (VT100) next character sets character size
- only '8' implemented -- fill screen with 'E's for alignment display
- Esc-7 save cursor
- Esc-8 restore cursor
- Esc-< set terminal emulation to ANSI
- Esc-= set keypad application mode (if allowed to change NumLock by RBCONFIG)
- Esc-> set keypad numeric mode (if allowed to change NumLock by RBCONFIG)
- Esc-@ turn on insert mode
- Esc-A move cursor up
- Esc-B move cursor down
- Esc-C move cursor right
- Esc-D (ANSI) "index"--move cursor down, scroll if at bottom
- (VT52) move cursor left
- Esc-E (ANSI) move to start of next line, scroll if at bottom
- (VT52) clear screen
- Esc-F (ANSI) not implemented
- (VT52) select graphics character set
- Esc-G (ANSI) not implemented
- (VT52) select text character set
- Esc-H (ANSI) set horizontal tab at current position
- (VT52) home cursor
- Esc-I (ANSI) horizontal tab
- (VT52) reverse linefeed, scrolls down if already on top line
- Esc-J (ANSI) not implemented
- (VT52) clear to end of screen
- Esc-K (ANSI) not implemented
- (VT52) clear to end of line
- Esc-L (ANSI) not implemented
- (VT52) insert a new line at cursor
- Esc-M (ANSI) "reverse index"--cursor up, reverse scroll if at top
- (VT52) delete cursor line
- Esc-N (ANSI) not implemented
- (VT52) delete char at cursor, rest of line shifts left
- Esc-O (ANSI) not implemented
- (VT52) turn off insert mode
- Esc-Y move cursor, next two characters are row + 32, column + 32
- Esc-Z request identification
- (ANSI) RBcomm returns the string "rbcommN.NNx" where N.NN is the
- version number and "x" is a single byte identifying implemented
- capabilities
- bit 0: multiple screens available if set
- bit 1: file transfer implemented (always set)
- bit 6: always set (makes character printable)
- bit 7: always clear
- remaining bits reserved (zero)
- (VT52) RBcomm returns the string Esc-/-Z, indicating a VT100 emulating
- a VT52.
- Esc-[ ANSI sequence, see below
- Esc-] Operating System Command. The following characters through an Esc-\
- sequence (maximum 80 characters) are skipped, as this command has
- no effect.
- Esc-^ ANSI Privacy Message. The following characters through an Esc-\
- sequence (maximum 80 characters) are accumulated. If running under
- DESQview, the first 40 are displayed in the notification window;
- otherwise, the accumulated characters are discarded.
- Esc-_ Application Program Command. The following characters through an
- Esc-\ sequence (maximum 80 characters) are skipped, as this command
- has no effect.
- Esc-c reset to initial state
- Esc-j save cursor position (Heath H19)
- Esc-k restore cursor position (Heath H19)
- Esc-l erase line (Heath H19)
- Esc-p turn on bold characters
- Esc-q turn off bold characters
- Esc-v turn on line wrap (Heath H19)
- Esc-w turn off line wrap (Heath H19)
- Esc-z reset terminal emulation (Heath H19)
-
-
- --------------
- ANSI Sequences
- --------------
-
- All of the sequences listed here consist of Esc-[ followed by zero or more
- numbers separated by semicolons followed by the command letter. Therefore,
- only the command letter will be listed. X1, X2, etc refer to the specified
- numeric argument, and usually are followed by a default value in
- parentheses. All cursor positioning commands number rows and columns
- starting at 1.
-
- blank extended ANSI sequence (see below)
- $ extended ANSI sequence (see below)
- @ insert X1 (1) blanks, shifting rest of line to the right
- A move cursor up X1 (1) lines
- B move cursor down X1 (1) lines
- C move cursor right X1 (1) positions
- D move cursor left X1 (1) positions
- E move cursor down X1 (1) lines, scroll if at bottom
- F move cursor up X1 (1) lines, scroll if at top
- G move cursor to position X1 (1) in current line
- H move cursor to row X1 (1), column X2 (1)
- I move to X1st (1) following horizontal tab position
- J case X1 (*): 0 clear from cursor to end of screen
- 1 clear from start of screen to cursor
- 2 clear screen
- * default is 0 for ANSI and VT52, 2 for ANSI-BBS
- K case X1 (0): 0 clear from cursor to end of line
- 1 clear from start of line to cursor
- 2 clear line
- L insert X1 (1) lines at cursor
- M delete X1 (1) lines at cursor
- P delete X1 (1) characters at cursor, rest of line shifts left
- S scroll up X1 (1) lines
- T scroll down X1 (1) lines
- U switch to screen X1 (1) screens later, wrapping back to screen 0
- if X1 preceded by an equal sign, switch to specified screen
- V switch to screen X1 (1) screens prior, wrapping to last screen
- X erase X1 (1) characters starting at cursor position, cursor stays put
- Z move cursor to X1st (1) preceding horizontal tab position
- ` move cursor to position X1 (1) in current line
- a move cursor X1 (0) positions from current position in line
- c device attribute report
- responds by sending Esc-[-?-6-c (VT102)
- d move cursor to line X1
- e move cursor X1 (0) lines from current line
- f move cursor to row X1 (1), column X2 (1)
- g case X1 (0): 0 clear horizontal tab at current position
- 3 clear all horizontal tab stops
- '>' clear all horizontal tab stops, then set tabs every
- N positions (i.e. Esc-[->-5-g sets tabs every five
- columns)
- h select mode
- case X1 (0): ?2 set emulation to ANSI
- ?3 select 132-column mode (if enabled by RBCONFIG)
- 4 turn on insert mode
- ?5 turn on inverted video
- ?6 turn on scrolling-region-relative cursor positioning
- (origin mode)
- ?7 turn on wrap mode
- 12 turn on local echo
- 20 turn on newline mode (send CRLF when CR pressed)
- ?25 turn cursor on (make visible)
- i media copy
- case X1 (1): 1 dump entire screen to printer
- ?1 dump screen line containing cursor to printer
- 4 exit printer controller mode [not yet implemented]
- ?4 stop echoing to printer [not yet implemented]
- 5 enter printer controller mode [not yet implemented]
- ?5 start echoing to printer [not yet implemented]
- l reset mode
- case X1 (0): ?2 set emulation to VT52
- ?3 select 80-column mode
- 4 turn off insert mode
- ?5 turn off inverted video
- ?6 set top of scrolling region to topmost line, bottom
- to bottom of screen, and turn off relative cursor
- positioning (absolute cursor positioning)
- ?7 turn off wrap mode
- 12 turn off local echo
- 20 turn off newline mode (send only CR when CR pressed)
- ?25 turn off cursor (make invisible)
- Note: may not work on all systems or in all video
- modes
- m select graphic rendition
- for each Xn in order,
- 0 reset attributes to white on black, turn off reverse
- video
- 1 set bold
- 4 set underlined
- 5 set blinking
- 7 set reverse video
- 8 set invisible (black on black)
- 21 turn off bold
- 22 turn off bold
- 24 turn off underlined
- 25 turn off blinking
- 27 turn off reverse video
- 30 set foreground color
- -
- 37
- 40 set background color
- -
- 47
- Note: Esc-[-m is equivalent to Esc-[-0-m
- n device status report
- case X1 (0): 5 report terminal status
- always sends Esc-[-0-n (terminal OK) to remote
- 6 report cursor position
- sends string Esc-[-row-;-col-R to remote system
- 15 printer status
- sends Esc-[-?-1-3-n (no printer) if no printer defined
- Esc-[-?-1-0-n if printer is ready
- Esc-[-?-1-1-n if printer is not ready
- [currently always sends ?13n]
- 25 report User Definable Key status
- always sends Esc-[-?-21-n (UDK's locked)
- 26 report keyboard dialect
- always sends Esc-[-?-27-;-1-n (US ASCII)
- r set scrolling region to rows X1 (1) through X2 (lines-on-screen)
- s save cursor (may not be nested)
- u restore cursor
- x request terminal parameters (VT100)
- case X1 (0): 0 sends back string indicating bits, parity, speed
- 1 sends back string indicating bits, parity, speed
- the string sent is
- Esc-[-<id>-;-<parity>-;-<bits>-;-<tspd>-;-<rspd>-;1;0x
- where <id> is 2 if X1 was 0 and 3 if X1 was 1
- <parity> is 1 for none, 2 for space, 3 for mark, 4 for odd,
- and 5 for even
- <bits> is 1 for 8, 2 for 7, 3 for 6, and 4 for 5 data bits
- <tspd> and <rspd> are the transmit and receive speeds:
- 16 -> 110 bps
- 32 -> 150 bps
- 48 -> 300 bps
- 56 -> 600 bps
- 64 -> 1200 bps
- 88 -> 2400 bps
- 104 -> 4800 bps
- 112 -> 9600 bps
- 120 -> 19200 bps
- 128 -> 38400 bps
- 136 -> 57600 bps
- 144 -> 115200 bps
- z reset terminal emulation (Heath H19)
-
-
- -----------------------
- Extended ANSI sequences
- -----------------------
-
- If the command character for an ANSI sequence is a blank, the NEXT character
- specifies the actual operation.
-
- @ scroll left X1 (1) columns
- A scroll right X1 (1) columns
-
- If the command character for an ANSI sequence is a dollar sign, the NEXT
- character specifies the actual operation. These are DEC VT2xx extensions.
-
- p ANSI mode control state request
- always returns CSI X1 ; 0 $ y (unknown mode)
- u terminal state request
- always returns DCS 1 $ ST (no state information returned)
-
-
- ---------------------
- UnixWindows sequences
- ---------------------
-
- When RBcomm receives a ^A, the following character specifies the actual
- command. If UnixWindows is enabled, a ^A introduces a UnixWindows command
- at ANY time, even in the middle of another command; when disabled, ^A is a
- normal command sequence introducer. This distinction is necessary because
- both AVATAR and RBcomm private commands may include ^A within the sequence.
- The UnixWindows commands are encoded as follows:
-
- +---+---+---+---+---+---+---+---+
- | 0 |dir| function | parameter |
- +---+---+---+---+---+---+---+---+
-
- where "dir" is 0 for commands being sent to RBcomm from the remote system
- and 1 for commands sent by RBcomm. RBcomm currently supports the following
- functions: [Note: this is not yet enough to successfully run UnixWin]
-
- 0 NEWW [not yet implemented]
-
- 1 KILLW [not yet implemented]
-
- 2 SELIN The parameter of this function specifies which "window" will
- display characters received from the serial port. UW windows
- are numbered from 1 to 7 and mapped to RBcomm screens 0 through
- 6. UW window 0 does not exist; if function 2 is invoked with
- parameter 0, the command is ignored.
-
- 3 SELOUT This command is never sent by the remote host, and is thus
- ignored
-
- 4 WINOPT [not yet implemented]
-
- 5 META If the parameter is 0, set the high bit of the next received
- character before processing it. If the next character is a ^A
- UnixWindows command character, this command will apply to the
- next non-UW character (or the control character produced by
- function 6 below)
- If the parameter is one of the following, act as if the specified
- character had been received; otherwise, ignore the command.
- parameter 1 = char 129
- parameter 2 = char 145
- parameter 3 = char 147
-
- 6 CTRL if the parameter is one of the following, act as if the specified
- control character had been received; otherwise, ignore the command.
- If function 5 was received immediately prior to this command, the
- high bit will be set.
- 1 ^A
- 2 ^Q
- 3 ^S
-
- 7 MAINT the parameter specifies one of a number of maintenance functions:
- 0 ENTRY sent by UW server on startup. RBcomm enables the
- UnixWindows protocol on receiving this command.
- 2 ASKPCL remote system requests the start of protocol negotiation.
- RBcomm responds with CANPCL 1 (the most basic protocol).
- 3 CANPCL remote system specifies a protocol it is capable of
- supporting in the following byte (1Fh is added to the
- protocol number to make it printable). If protocol 1
- specified, RBcomm responds with SETPCL 1, otherwise it
- responds with CANPCL 1.
- 4 SETPCL remote system specifies a protocol which both ends are
- to use. The protocol is sent in the next byte, with 1Fh
- added to make it printable. As RBcomm only supports
- protocol 1, this function is currently ignored.
- 7 EXIT sent by UW server on shutdown. RBcomm disables the
- UnixWindows protocol on receiving this command.
-
-
- ------------------------
- Special RBcomm sequences
- ------------------------
-
- When RBcomm receives a ^F, the following character specifies the actual
- command.
-
- ^x display the IBM PC screen character corresponding to the control
- character
- 0 turn off visual bell, ^G will beep
- 1 turn on visual bell, ^G will flash the screen, but internally
- generated beeps still sound
- 2 flash the screen
- 3 beep even if visual bell turned on
- 4 fill area. Identical to AVATAR ^V^M (see below) but does not cancel
- insert mode.
- 5 clear from cursor to end of screen
- 6 repeat pattern. Identical to AVATAR ^V^Y (see below)
- : disable the UnixWindows protocol
- ; enable the UnixWindows protocol
- < set terminal emulation to VT102/ANSI. Does not affect any other
- settings
- = set terminal emulation to ANSI-BBS. Does not affect any other
- settings.
- > set terminal emulation to VT52. Does not affect any other settings.
- ? query terminal emulation type. Sends back <127><type> where type is
- 'A' for VT102/ANSI, 'B' for ANSI-BBS, or 'V' for VT52. The type
- is converted to lower case if the UnixWindows protocol is enabled.
- @ send identification (see Esc-Z)
- A [obsolete--this command no longer does anything]
- B if next character is '0' through '8' switch to the specified
- screen, provided that memory was allocated for it at startup.
- Sends a response of 127-<digit>-<status> to the remote system,
- where the digit is the screen number from the ^FB command, and
- status is 'Y' if the screen exists or 'N' if it doesn't. It is
- the remote system's responsibility to redraw the screen if the
- response is 'N'.
- C if next character is '0' through '8' and the specified screen was
- allocated at startup, clear that screen to blanks.
-
- ------------------------
- AVATAR command sequences
- ------------------------
-
- ^V^A set screen attribute to low seven bits of following character
- ^V^B set blink
- ^V^C move cursor up a line
- ^V^D move cursor down a line
- ^V^E move cursor left one space
- ^V^F move cursor right one space
- ^V^G clear from cursor to end of line
- ^V^H<r><c> move cursor to row <r> and column <c>, where the upper left corner
- is 1,1
- ^V^I turn on insert mode until next AVATAR command (except ^Y and ^V^Y)
- ^V^J scroll area up. Next five characters specify number of lines to
- scroll, top margin, left margin, bottom margin, and right margin (all
- margins are based on 1,1 being the upper left corner of the screen)
- ^V^K scroll area down. Next five characters are as for ^V^J
- ^V^L clear area. Next three characters specify screen attribute for cleared
- area, number of lines less one, and number of columns less one. The
- blink bit of the attribute is ignored, and the current display attribute
- is set to the attribute of the cleared area. If the requested area
- extends beyond the current window limits, it will be truncated to fit.
- ^V^M fill area. Next four characters specify screen attribute for filled
- area, character to fill with, number of lines less one, and number of
- columns less one. The current display attribute is set to the filled
- attribute with blinking turned off. If the requested area extends
- beyond the current window limits, it will be truncated to fit.
- ^V^N delete character at cursor position, shifting the remainder of the
- line.
-
- The following commands (except for ^V^Y) are Level 1 extensions. They
- are not fully implemented, and are not expected to be completely
- correct, as the official specifications have just (1/20/91) been
- published, and I have not had time to implement and test everything. In
- cases where the official specs differ from the sketchy information I had
- to work with, the behavior will be incorrect. Those commands marked
- [not implemented] will merely be skipped without any further processing.
-
- ^V^O turn clockwise mode on [not implemented]
- ^V^P not used
- ^V^Q query. Next character specifies the type of query
- ^Q get driver version info. Returns the string
- "AVT0,rbcommN.NNc\r"
- where N.NN is the RBcomm version and c is the capability byte
- (see Esc-Z). This identifies RBcomm as complying with the AVATAR
- level 0 specification, since level 1 support is still incomplete.
- ^V^R reset AVATAR [not implemented]
- ^V^S make a sound. The next three characters specify the note number,
- octave, and duration in tenths of a second. The note is computed as
- (note-'A')*2 + sharp
- The current implementation does not queue any tones unless RBcomm is
- running under DESQview (which can queue notes).
- ^V^T highlight character at cursor position. Next character specifies new
- attribute.
- ^V^U highlight window. Next two characters specify the window handle and
- new attribute.
- ^V^V define window. Next six characters specify the window handle, default
- attribute, top margin, left margin, bottom margin, and right margin.
- The default attribute is also the initial current attribute for the
- new window. Note: window 0 can not be redefined.
- ^V^W switch to window. The next character specifies the handle of the
- window to switch to.
- ^V^X flush input [not implemented]
- ^V^Y repeat pattern. The following character specifies the length of the
- pattern to be repeated, followed by the pattern, and finally followed
- by a single character indicating the number of times to repeat the
- pattern. The pattern may contain command sequences, but is limited
- to 80 characters (longer patterns are truncated to 80 characters).
- ^V^\ go to bed [not implemented]
- ^V^] wake up [not implemented]
- ^V^^ start vertical output [not implemented]
- ^V^_ start horizontal output [not implemented]
- ^V! poke char/attr to physical screen. The next four characters specify
- the character and attribute to poke, and the row and column at which
- to display that character and attribute.
- ^V" turn off line wrap
- ^V# wrap in zigzag mode [not implemented]
- ^V$ turn on line wrap
- ^V% reverse direction of linefeeds [not implemented]
- ^V& linefeeds move in normal direction [not implemented]
- ^V' set cursor type. The next character specifies the cursor's shape:
- ^A return to default (startup) cursor shape
- ^B make cursor invisible (does not work on all systems in all modes)
- ^C block cursor, covering entire character cell
- otherwise, this command is ignored
- ^V( output in forward direction [not implemented]
- ^V) output in reverse direction [not implemented]
- ^V* system pause. The next character specifies the duration in tenths of
- a second. Contrary to the official AVATAR specs, RBcomm treats zero
- as 256 tenths seconds, rather than a full hour. This is both more
- consistent and more secure, as neither keyboard nor serial port
- activity is possible during a system pause.
- ^V+ insert a line
- ^V, insert a blank column at the current cursor position
- ^V- delete current line
- ^V. delete current column
- ^V/ set/reset static mode [not implemented] The next character specifies
- whether or not the cursor should be advanced after outputting a
- character to the screen.
- ^V0 highlight from cursor to end of line. The next character specifies
- the new attribute to be applied to the rest of the line.
- ^V1 highlight from start of line to cursor. The next character specifies
- the new attribute to be applied to the beginning of the line.
- ^V: keyboard mode. The next character specifies the mode. RBcomm
- always returns ^V:0 (default mode), as it does not support this
- command.
- ^V< scroll left. The next five characters specify the number of columns
- to scroll, the top margin, left margin, bottom margin, and right
- margin of the area to scroll.
- ^V= set parser mode. If the next character ANDed with 1Fh is ^R or ^C,
- set the mode to raw or cooked, respectively. In cooked mode, the
- character immediately following a ^P is ANDed with 1Fh, and the result
- is treated as if it had arrived from the remote system instead of the
- ^P sequence.
- ^V> scroll right. The next five characters are as for ^V<
- ^V? peek at physical screen. The next two characters specify the row and
- column at which to peek. RBcomm returns the poke command (see ^V!)
- needed to restore the given character position to its current state.
-
- -----------------------------------------------------------------------------
- Acknowledgements
- ----------------
-
- Thanks to Thomas Zerucha for his numerous comments and suggestions, many of
- which have been implemented.
-
- Thanks to Walter Cox for his comments and suggestions on v2.81, one of the
- included keyboard bindings, and his patience in testing new versions.
-
- Thanks to Mike Weaver for his comments and suggestions, some of which have
- been implemented.
-
- Thanks to Dave Doren for banging on the macro language and reporting bugs
- and possible enhancements.
-
- -----------------------------------------------------------------------------
- Program History
- ---------------
-
- v2.72 9/3/89 first public release
- v2.81 10/4/89 second public release
- v3.01 1/6/90 third public release
- v3.12 4/28/90 fourth public release
- v3.21 7/29/90 fifth public release
-
- v3.22 9/9/90 switched from spawnlo() to spawnlpo(), adjusted Alt-G
- added DISPLAY command, %N variable expansion
- stubbed out AVATAR level 1 support
- v3.23 9/23/90 enhanced input line editor
- fixed subtle bug in environment reading
- added MDIAL command, %w variable expansion
- continued adding AVATAR level 1 support
- v3.24 10/6/90 size optimizations
- added PACECHAR command, SWAPDIR environment variable
- v3.25 10/21/90 added more AVATAR level 1 functions, swap to EMS
- fixed scrolling-region/cursor-move interaction bug
- internal changes
- v3.26 11/25/90 more internal changes and size optimizations
- OPEN_LOG in OnLoad macro now works in all cases
- v3.27 12/9/90 added SELECT_SCREEN command on Alt-W
- more UnixWindows functions
- v3.28 12/21/90 added commandline options
- some more AVATAR level 1 functions
- new DVPWIDTH program for 132 column DESQview windows
- v3.30 1/13/91 completely rewrote file browser, implemented scrollback
- FILES command now uses new browser
- added SCROLLBACK, SAVE_SCREEN commands
- v3.31 2/3/91 bugfixes to scrollback
- some more AVATAR level 1 functions
- (sixth public release)
-
- v3.32 2/17/91 restored command entry from help screen
- added %/ and %\ expansions
- dialing dir now uses pager, capacity increased to 40 entries
- v3.33 3/17/91 removed SAVE_MACRO/UI_MENU, saving 380 bytes
- simplified macro learning to single key, saving 330 bytes
- macro file format changes
- current macro file now kept if new file not found or invalid
- new compiled dialing directory allows up to 250 entries
- v3.34 4/10/91 directory pager can now back up on very large directories
- scrollback buffer can now be written to a file
- added ALARM, MUSIC, PLAY, SOUND, TFLUSH commands
- v3.35 3/15/92 rearranged RBcomm private terminal functions
- fixed scrollback and pager problems
- added AVATAR, EXPAND_BLANK, and RBCOMM_CMDS commands
- added optional BIOS writes for serial input
- now supports 115200 bps
- no longer randomly drops behind actual end of serial input at
- extremely high speeds
- v3.36 8/23/92 now hide DESQview mouse pointer while inside RBcomm window
- speed optimizations
- reworked RBCONFIG for greater ease of use
- enhanced DIALDIR and merged it into RBCONFIG
- v3.40 1/3/93 fixed RBCONFIG serial-port-info update & dialdir Move bugs
- added DVEXEC, TRIM, LTRIM, and RTRIM commands
- added #DOWNLOAD_x and #UPLOAD_x metacommands, %F expansion
- the elusive dialing rollover bug has been squashed
- the number pad with NumLock on can now be distinguished
- from the typewriter number keys using the NP_n keynames
- MACRO.COM can no longer decompile, but can compile
- multiple macro files at one time
- (seventh public release)
-